package com.qijian.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qijian.system.domain.ExpireConfig;
import com.qijian.system.domain.vo.ExpireConfigVo;

import java.util.List;


/**
 * 超期配置类Service接口
 *
 * @author qijian
 * @date 2023-10-18
 */
public interface IExpireConfigService extends IService<ExpireConfig> {


    boolean saveOrUpdateConfig(ExpireConfigVo configVo);

    ExpireConfigVo getInfo(Long mainId);


    boolean removeExpireConfig(List<Long> ids);


    /***
     * 发送超期提醒邮件
     * @param emailType 邮件类型：也就是EmailUtil 中配置的key
     */
    <T> void  sendExpireMail(String emailType, List<T> sourceDataList,Class<T> clazz);


    /***
     * 测试方法
     * @param emailType
     * @param sourceDataList
     */
    void testSendExpireMail(String emailType,List<Long> sourceDataList);

    /***
     * 修改状态
     * @param expireConfigVo
     * @return
     */
    int updateStatus(ExpireConfigVo expireConfigVo);
}
